package ex.com.jm.food.dao;



import java.util.List;

import ex.com.jm.food.entity.Admin;

/**
 * 管理员的数据访问层
 * @author zhaojw
 *
 */
public interface AdminDao {

	/**
	 * 保存管理员
	 * @param admin
	 * @return
	 */
	public Object saveAdmin(Admin admin); //添加
	/**
	 * 根据管理员id查询某一个管理员
	 * @param id 管理员id
	 * @return
	 */
	public Admin getAdmin(String id);//单个查询
	/**
	 * 模糊查询 ，分页
	 * @param initPage 从第几条数据开始查
	 * @param pageRow  查询多少条数据，，即每页显示多少条数据
	 * @param name 根据姓名name实现模糊查询
	 * @param status 根据状态实现查询
	 * @return
	 */
	public List<Admin> getAdmins(int initPage,int pageRow,String name,Integer status,String order,String sort);//查询所有
	
	/**
	 * 查询管理员数据总数
	 * @param name
	 * @param status
	 * @return
	 */
	public int adminsCount(String name,Integer status);
	/**
	 * 管理员登录
	 * @param email 登录帐号
	 * @param password 登录密码
	 * @return
	 */
	public Admin adminLogin(String email,String password);//管理员登录
	/**
	 * 更新管理员
	 * @param id 管理员id
	 * @param name 管理员名称
	 * @param password 管理员密码
	 * @param email 管理员邮箱
	 * @param status 管理员状态
	 * @return true/false 
	 */
	public void updateAdmin(Admin admin);//超级管理员更改管理员账户状态:启用/停用
    /**
     * 注册或者添加时检验邮箱是否重复
     * @param email
     * @return
     */
	public Admin checkEmail(String email);
	/**
	 * 注册或者添加时检验名称是否重复
	 * @param name
	 * @return
	 */
	public Admin checkName(String name);
	/**
	 * 更新帐号状态
	 * @param status
	 */
	public boolean updateAdminStatus(Integer status,String id);
}
